An optical drive system, such as a compact disc (CD) player or digital versatile disc (DVD) player, can be divided into two parts: a controller and a plant. The plant encompasses physical mechanisms (drivers, sensors, motors, read-write heads, and the like) while the controller is typically implemented as a computer program on a digital signal processor (DSP). For example, the controller provides a head-positioning servomechanism which aims at positioning the read-write head over the desired track on the optical disc with minimum error. The track positioning has two functions: track-seeking and track-following. The repeatable run-out (RRO) error is a repeatable, predicable off-track motion caused by a mis-centering of an optical disc on the spindle motor. FIG. 1A shows an optical disc ideally placed on the spindle motor, while FIG. 1B illustrates an optical disc placed on the spindle motor off-centered. The RRO causes the read/write head off track which may degrade reading and writing data to/from the optical disc.
In a disc driver system, the spindle speed is measured using pulses from the spindle motor driver. These pulses are typically provided by Hall sensors, which detect the magnetization of the spindle motor. In one complete revolution, a Hall sensor will change its state the same number of times the motor magnetization changes, typically, six (6). There are usually three Hall sensors, and thus there are usually eighteen (18) pulses per revolution for a three-phase six-pole spindle motor. These pulses are often referred to as frequency generation (FG) pulses, since they provide for the generation of a frequency signal from the spindle motor.
Conventional error cancellation techniques in hard disc drivers use the fact that the tracking actuator is synchronous to the spindle motor. In optical disc drivers, such as CD or DVD drivers, however, this is not true because the tracking servo operates at a fixed rate whereas the spindle servo typically operates at variable rotation speed. The tracking servo mechanism measures its position relative to track center and produces a control signal at exact times. For example, a typical servo system may operate about 50,000 iterations per second. The spindle servo, on the other hand, operates at variable speed. Because optical disc drivers often try to keep the data moving under the spot at a constant rate, which is referred to constant linear velocity (CLV) mode, the spindle speed changes with the radius of the location of the data. Consequently, the tracking servo and spindle control are asynchronous.
Thus, conventional RRO error cancellation in optical disc drivers uses the FG signal from Hall effect sensors to synchronize the cancellation algorithm to the spindle revolution. The RRO cancellation is triggered at each edge of the FG signal. For example, if the spindle motor is provided with three (3) Hall sensors, the FG signal has 18 pulses. Accordingly, the number of Hall sensors in the driver system, i.e., the number of FG signal pulses predetermines the fixed number of RRO cancellation control per spindle rotation. However, in order to reduce the manufacturing cost of optical drivers, there are many spindle motor drivers which provide the output of only one Hall sensor. In such spindle motor drivers, the number of the FG pulses available to the servo system is very limited. In such optical drivers, the conventional RRO cancellation can be very poor.